﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data.Linq;
using Biz_Dal.Dal;

namespace Biz_Dal.Biz
{
    public class BizQuangCao
    {
                private int _idQuangCao;

        private string _HREF;

        private System.Data.Linq.Binary _hinhQuangCao;
        
        private byte[] _byteHinhQC;

        private System.Nullable<System.DateTime> _ngayBD;

        private System.Nullable<System.DateTime> _ngayKT;

        public BizQuangCao()
		{
			
		}

        public BizQuangCao(int _idQuangCao)
        {
            this._idQuangCao = _idQuangCao;
        }

        public BizQuangCao(int _idQuangCao, string _HREF, System.Data.Linq.Binary _hinhQuangCao, System.Nullable<System.DateTime> _ngayBD, System.Nullable<System.DateTime> _ngayKT)
        {
            this._idQuangCao = _idQuangCao;
            this._HREF = _HREF;
            this._hinhQuangCao = _hinhQuangCao;
            this._ngayBD = _ngayBD;
            this._ngayKT = _ngayKT;
        }
		
		
		public int idQuangCao
		{
			get
			{
				return this._idQuangCao;
			}
			set
			{
				if ((this._idQuangCao != value))
				{
                    this._idQuangCao = value;
				}
			}
		}
		
		
		public string HREF
		{
			get
			{
				return this._HREF==null?String.Empty:this._HREF;
			}
			set
			{
                this._HREF = value;
			}
		}
		
		
		public System.Data.Linq.Binary hinhQuangCao
		{
			get
			{
                return this._hinhQuangCao == null ? new Binary(byteHinhQC) : _hinhQuangCao;
			}
			set
			{
                this._hinhQuangCao = value;
			}
		}

        private byte[] byteHinhQC
        {
            get
            {
                return this._byteHinhQC;
            }
            set
            {

                this._byteHinhQC = value;
            }
        }
		
		
		public System.Nullable<System.DateTime> ngayBD
		{
			get
			{
				return this._ngayBD;
			}
			set
			{
                this._ngayBD = value;
			}
		}
		
		
		public System.Nullable<System.DateTime> ngayKT
		{
			get
			{
				return this._ngayKT;
			}
			set
			{
                this._ngayKT = value;
			}
		}

        public static List<BizQuangCao> getListQuangCaoAll()
        {
            try
            {
                return DalQuangCao.getListQuangCaoAll();
            }
            catch
            {
                throw new Exception("Error!");
            }
        }

        //Lấy danh sách tất cả các quảng cáo đang dùng
        public static List<BizQuangCao> getListQuangCaoAllNowUse()
        {

            try
            {
                return DalQuangCao.getListQuangCaoAllNowUse();
            }
            catch
            {
                throw new Exception("Error!");
            }
        }

        public static int IdMaxQuangCao()
        {
            try
            {
                return DalQuangCao.IdMaxQuangCao();
            }
            catch
            {
                throw new Exception("Error!");
            }
        }

        //Chi tiết quảng cáo
        public static BizQuangCao getQuangCaoById(int id)
        {
            try
            {
                return DalQuangCao.getQuangCaoById(id);
            }
            catch
            {
                throw new Exception("Error!");
            }
        }

        //Thêm sách
        public static void insertQuangCao(BizQuangCao vtSach)
        {
            try
            {
                DalQuangCao.insertQuangCao(vtSach);
            }
            catch
            {
                throw new Exception("Error!");
            }
        }

        //Xóa sách
        public static void deleteQuangCao(int idQuangCao)
        {
            try
            {
                DalQuangCao.deleteQuangCao(idQuangCao);
            }
            catch
            {
                throw new Exception("Error!");
            }
        }

        //Sửa sách
        public void updateQuangCao()
        {
            try
            {
                DalQuangCao.updateQuangCao(this);
            }
            catch
            {
                throw new Exception("Error!");
            }
        }

        //Sửa ảnh
        public static void updateImage(int id, byte[] filebyte)
        {
            try
            {
                DalQuangCao.updateImage(id, new System.Data.Linq.Binary(filebyte));
            }
            catch
            {
                throw new Exception("Error!");
            }
        }
    }
}
